package com.lonely.order.domain.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.lonely.common.core.domain.BaseEntity;
import com.lonely.order.enums.OrderEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单表
 *
 * @author fzzf
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sys_order")
public class SysOrder extends BaseEntity implements Serializable {


    /**
     * 接单时间
     */
    private Date acceptOrderTime;

    /**
     * 裁床数量信息
     */
    private String cutBedInfo;

    /**
     * 裁床数量
     */
    private Integer cutBedQty;

    /**
     * 裁床信息
     */
    private String cutInfoStr;

    /**
     * 目标交期
     */
    private Date deliveryTime;

    /**
     * 设计款号
     */
    private String designCode;

    /**
     * 工厂ID
     */
    private Long factoryId;

    /**
     * 对应工厂权限集合
     */
    private String factoryPermission;

    /**
     * 是否首单
     */
    private Integer isFirst;

    /**
     * 优先级
     */
    private Integer isUrgent;

    /**
     * 下单数量信息
     */
    private String orderInfo;

    /**
     * 下单数量信息字符串
     */
    private String orderInfoStr;

    /**
     * 生产单价
     */
    private BigDecimal orderPrice;

    /**
     * 订单ID
     */
    private Long orderRecordId;

    /**
     * 订单类型
     *
     * @see OrderEnum.OrderType
     */
    private String orderType;

    /**
     * 订单类型int
     */
    private Integer orderTypeInt;

    /**
     * 图片
     */
    private String pic;

    /**
     * 下单时间
     */
    private Date placeOrderTime;

    /**
     * 生产制单号
     */
    private Long produceOrderId;

    /**
     * 生产方
     */
    private String producer;

    /**
     * 订单件数
     */
    private Integer quantity;

    /**
     * 参考sku
     */
    private String refSku;

    /**
     * 二次工艺
     */
    private String secondProcess;

    /**
     * 大货sku
     */
    private String sku;

    /**
     * 订单状态
     *
     * @see OrderEnum.OrderStatus
     */
    private String status;

    /**
     * 订单状态整型
     */
    private Integer statusInt;

    /**
     * 备货类型
     */
    private String stockType;

    /**
     * 备货类型整型
     */
    private Integer stockTypeInt;

    /**
     * 编织类型
     */
    private String weavingType;

    /**
     * 部件数
     */
    private Integer multiPiecesQuantity;

    /**
     * 客户id
     */
    private Long customerId;

    /**
     * 订单来源
     *
     * @see OrderEnum.OrderSourceEnum
     */
    private Integer orderSource;

    /**
     * 颜色
     */
    private String color;

    /**
     * 原始订单状态
     *
     * @see OrderEnum.OrderStatus
     */
    private String originalOrderStatus;

    /**
     * 原始订单状态整型
     *
     * @see OrderEnum.OrderStatus
     */
    private Integer originalOrderStatusInt;

    /**
     * 计划单号
     */
    private String planOrderNumber;
}
